home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The 640 MEG Shareware Studio 2
/
The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO
/
clang
/
fpu_ae.zip
/
README.TXT
< prev
Wrap
Text File
|
1990-12-12
|
9KB
|
200 lines
--------------------------------------------------------------------------
FPU_AE.LIB für TURBO C (Atari-ST / TT) README.TXT
Version 1.0 13.November 1990
Copyright: Adolf ENGL (C) Barthgasse 9/18 A-1030 Wien AUSTRIA
--------------------------------------------------------------------------
*** INFORMATIONEN ZU FPU_AE.LIB (VERSION 1.0) ***
1) PRODUKT-INFO:
"FPU_AE.LIB" ist eine Bibliothek für den C-Compiler "TURBO-C"
von Borland International (C) für alle ATARI-Modelle mit folgenden
Prozessortypen:
- MC68020 + MC68881 (FPU-Coprocessor)
oder
- MC68020 + MC68882 (FPU-Coprocessor)
oder
- MC68030 + MC68881 (FPU-Coprocessor)
oder
- MC68030 + MC68882 (FPU-Coprocessor)
Dies sind beispielsweise die neuen ATARI-TT Modelle, oder auch die mit
diversen Erweiterungskarten (z.B PAK-68k mit MC68020/MC68881 von CT)
aufgerüsteten ATARI-ST Modelle.
Vollkommen unbrauchbar ist diese Bibliothek für ATARI's ohne
FPU-Coprocessor oder für ATARI-ST Modelle mit (nur) einem MC68000
und einer Coprocessor-Zusatzplatine.
Die "FPU_AE.LIB" soll als Ersatz der von Borland (C) mitgelieferten
Flie₧kommabibliothek "TCFLTLIB.LIB" dienen.
Obwohl die Version 2.03 von TURBO-C nun schon brauchbaren Code für
das Prozessorgespann MC68020/MC68881 erzeugt, beinhaltet die mitge-
lieferte Bibliothek "TCFLTLIB.LIB" nach wie vor (nur) Funktionen, die
mit einem 80 Bit Format für [long] double rechnen. Die FPU-Coproces-
soren MC68881 und MC68882 von Motorola benötigen jedoch anstelle dieses
80 Bit Formates, ein 96 Bit Format für "extended precision real"
Operanten. Ein 80 Bit Format wird von den Fpu-Coprocessoren keinesfalls
richtig verstanden und ein Aufruf von Funktionen aus "TCFLTLIB.LIB"
führt daher (bei Verwendung der FPU) bestenfalls zu unsinnigen Resul-
taten oder meist gleich zum Programmabsturz.
Borland schreibt dazu in der README Datei von Turbo C V2.x :
"... Programme, die Flie₧kommafunktionen aufrufen, welche in der
Bibliothek TCFLTLIB definiert sind, jedoch vom Coprozessor nicht
unterstützt werden (z.B. printf(), scanf(), atof()),
sollten nicht mit dem Schalter -8 übersetzt werden."
Das bedeutet, benötigt man eine der in "TCFLTLIB" enthaltenen
Funktionen, wie etwa printf() oder scanf() zur Flie₧komma-I/O, so mu₧
man auf den eingebauten FPU-Coprocessor verzichten und alles geht so
langsam wie ohne FPU.
Ein sinnvolles Arbeiten unter Verwendung von Flie₧kommazahlen
mit einer der oben angeführten Systemkonfigurationen ist daher,
alleine mit den von Borland mitgelieferten Bibliotheken, derzeit
auch mit Turbo C V2.03 noch nicht möglich.
Da sich die Turbo-C Entwickler(innen) bislang (seit August 90 ver-
spricht mir am Telefon ein freundlicher Herr von Borland München
"sogleich" das entsprechende Update zu schicken) zur Herausgabe einer
brauchbaren Flie₧kommabibliothek nicht aufraffen konnten, habe ich
nun als "erste Hilfe Paket" die "FPU_AE.LIB" entwickelt.
Die Funktionen in der "FPU_AE.LIB" verwenden intern das, auch vom
TURBO-C Compiler (bei der Verwendung des Schalters -8) für [long] double
erzeugte 96-Bit Format und verstehen sich daher prächtig mit den
Motorola FPU-Coprozessoren.
2) Funktions - Umfang:
Die Bibliothek "FPU_AE.LIB" umfa₧t folgende Funktionen:
int printf( const char *format, ... );
int fprintf( FILE *stream, const char *format, ... );
int sprintf( char *string, const char *format, ... );
int scanf( const char *format, ... );
int fscanf( FILE *stream, const char *format, ... );
int sscanf( const char *string, const char *format, ... );
int vfprintf( FILE *stream, const char *format, va_list param );
int vprintf( const char *format, va_list param );
int vsprintf( char *string, const char *format, va_list param );
int vfscanf( FILE *stream, const char *format, va_list param );
int vscanf( const char *format, va_list param );
int vsscanf( char *string, const char *format, va_list param );
char *ecvt( double d, int ndig, int *dec, int *sign );
double atof( const char *digStr );
double strtod( const char *s, const char **endptr );
double modf( double x, double *nptr );
double ceil( double x );
double floor( double x );
double round( double x );
double difftime( time_t time2, time_t time1 );
void xdcnv( double *val, void *rep8bytes );
void dxcnv( void *rep8bytes, double *val );
Alle übrigen Standard-FPU-Funktionen werden direkt vom FPU-Coprozessor
unterstützt und sind in MATH.H ALS MAKROS definiert.
3) Produkt - Umfang:
"FPU_AE.LIB" Version 1.0 besteht aus folgenden Dateien:
- fpu_ae.lib ... die eigentliche Bibliotheks-Datei
- math.h ... die zugehörige Include - Datei
- readme.txt ... das sollten Sie gerade lesen
4) Fehler:
Es wird NICHT für die fehlerfreie Funktion der Bibliothek garantiert.
Die Bibliothek wurde vorallem für den Eigengebrauch entwickelt und wurde
bislang nur auf einem ATARI-Mega-ST mit PAK-68k (mit MC68020/MC68881)
(spärlich) getestet. Fehler sind daher mit gro₧er Sicherheit zu erwarten.
Aber hoffentlich weniger als in den derzeitigen TC-Bibliotheken.
Bewu₧te Einschränkungen:
- nachfolgende Nullen werden bei g-Format (printf()) nicht unterdrückt;
- keine eigene ftoa() - Funktion
5) Installation:
a) "fpu_ae.lib" in den TC-Library-Ordner kopieren; (im allg. nach "tc/lib")
b) "math.h" im TC-Includefile-Ordner durch das mitgelieferte "math.h"
ERSETZEN.
6) Verwendung:
Für die Verwendung der Bibliothek "FPU_AE.LIB" sind folgende Punkte zu
beachten:
- Compiler-Option -2 und -8 EINSCHALTEN
- Assembler-Option -2 oder -3 EINSCHALTEN
- Assembler-Option -8 EINSCHALTEN
- in Projektdatei fpu_ae.lib anstelle von TCFLTLIB.LIB
schreiben oder zumindestens fpu_ae.lib VOR TCFLTLIB.LIB
anführen.
7) Verwendungsberechtigung:
a) Für die Verwendung der Bibliothek "fpu_ae.lib", oder von Teilen daraus,
in Programmen bzw. zur Erstellung von Programmen und sonstigen Soft-
wareprodukten ist KEINERLEI GEBÜHR zu entrichten, soferne es sich bei
diesen Programmen und sonstigen Softwareprodukten um solche für den
EIGENEN GEBRAUCH handelt, oder um Produkte, die UNENTGELTLICH an
Dritte weitergegeben werden, wie z.B. Public-Domain-Programme.
b) Die Verwendung der Bibliothek "fpu_ae.lib", oder von Teilen daraus,
in kommerziellen Produkten, das hei₧t in oder zur Erstellung von
Programmen und sonstigen Softwareprodukten für deren Weitergabe ein
Entgelt verlangt wird, ist hiermit NICHT GESTATTET, sondern bedarf
einer eigenen Lizenzvereinbarung.
Diesbezügliche Anfragen richten Sie bitte an folgende Adresse:
Adolf ENGL
Barthgasse 9/18
A-1030 Wien Austria
c) Das Produkt "FPU_AE.LIB" darf (und soll) beliebig oft und unentgeltlich
kopiert und an DRITTE weitergegeben werden, soferne immer ALLE UNTER
Punkt (3) ("Produkt-Umfang") aufgelisteten Dateien in UNVERÄNDERTER Form
enthalten sind.
8) freiwilliger Entwicklungsbeitrag:
Die Verwendung der "FPU_AE.LIB" ist, gemä₧ den unter Punkt (7) ("Verwen-
dungsberechtigung") angeführten Bestimmungen, KOSTENLOS gestattet.
Falls Sie jedoch das Produkt gut gebrauchen können und deshalb auch die
Arbeit des Autors honorieren wollen, so können Sie einen Betrag Ihres
Ermessens als finanziellen Entwicklungsbeitrag an folgende Adresse senden:
Adolf Engl Barthgasse 9/18 A-1030 Wien Austria
(Bitte übersenden Sie nur Banknoten und/oder Euroschecks. Euroschecks
bitte in Öster. Schillingen (Kürzel ÖS) ausstellen.)
9) Anregungen, Wünsche und Kritik:
Diesbezügliche Mitteilungen senden Sie bitte an die Adresse des Autors
oder via eMail z.B. an Adolf Engl 2:310/3 im FidoNet.
Bedenken Sie dabei bitte, da₧ diese Bibliothek nur als Uberbrückungshilfe
für all jene Leidensgenossen mit einer der anfangs beschriebenen System-
konfigurationen, dienen soll. Und vorallem nur solange bis Borland
endlich ein besseres Turbo-C Update herausbringt.
Mit freundlichen Grü₧en
Adolf Engl